package cn.iocoder.yudao.module.handguard.controller.app.userbasetable1.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

/**
 * 按揭房信贷 Base VO，提供给添加、修改、详细的子 VO 使用
 * 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
 */
@Data
public class UserBaseTable1BaseVO {

    @Schema(description = "用户id", example = "2826")
    private Long userId;

    @Schema(description = "按揭房所在区域")
    @NotNull(message = "按揭房所在区域不能为空")
    @NotEmpty(message = "按揭房所在区域不能为空")
    private String area;

    @Schema(description = "土地类型")
    // @NotNull(message = "土地类型不能为空")
    //@NotEmpty(message = "土地类型不能为空")
    private String landTypes;

    @Schema(description = "房屋类型", example = "2")
    @NotNull(message = "房屋类型不能为空")
    @NotEmpty(message = "房屋类型不能为空")
    private String houseType;


    @Schema(description = "房屋结构")
    @NotNull(message = "房屋结构不能为空")
    @NotEmpty(message = "房屋结构不能为空")
    private String buildingStructure;


    @Schema(description = "装修情况", example = "2")
    @NotNull(message = "装修情况不能为空")
    @NotEmpty(message = "装修情况不能为空")
    private String decorateSituation;

    @Schema(description = "建筑面积")
    @NotNull(message = "建筑面积不能为空")
    private BigDecimal areaOfStructure;

    @Schema(description = "首套房或者二套房")
    //@NotNull(message = "首套房或者二套房不能为空")
    // @NotEmpty(message = "首套房或者二套房不能为空")
    private String oneOrTwo;

    @Schema(description = "按揭时间")
    // @NotNull(message = "按揭时间不能为空")
    //@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime mortgageTime;

    @Schema(description = "贷款金额")
    //@NotNull(message = "贷款金额不能为空")
    private BigDecimal loanAmount;

}
